Programming: Principles and Practice Using C++

Programming: Principles and Practice Using C++

  • Downloads:7428
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2024-04-20 06:20:36
  • Update Date:2025-09-09
  • Status:finish
  • Author:Bjarne Stroustrup
  • ISBN:0138308683
  • Environment:PC/Android/iPhone/iPad/Kindle

Reviews

Dave Harrison

This is a very very poor book and does a terrible job in explaining even the basics to its target audience。 I've been programming for years and I found it hard to follow。 The jump in difficulty from chapter 5 to 6 is laughable and could only be deemed acceptable by someone who has spent their entire lives in the academia bubble。 If you're new to programming avoid this like the plague as it will put you off for life。 This is a very very poor book and does a terrible job in explaining even the basics to its target audience。 I've been programming for years and I found it hard to follow。 The jump in difficulty from chapter 5 to 6 is laughable and could only be deemed acceptable by someone who has spent their entire lives in the academia bubble。 If you're new to programming avoid this like the plague as it will put you off for life。 。。。more

George Vernon

PPP is a textbook teaching C++, c。f。 The C++ Programming Language which is a reference, and A Tour Of C++, which is an abridged reference。PPP is pitched by Bjarne as a first-year university course to be covered in a single semester, for those who have never programmed before。 This is not realistic, and the book is much better used as an intermediate level text for a programmer already comfortable with at least one other language, in my opinion。 It is an excellent introduction to C++。 As is prope PPP is a textbook teaching C++, c。f。 The C++ Programming Language which is a reference, and A Tour Of C++, which is an abridged reference。PPP is pitched by Bjarne as a first-year university course to be covered in a single semester, for those who have never programmed before。 This is not realistic, and the book is much better used as an intermediate level text for a programmer already comfortable with at least one other language, in my opinion。 It is an excellent introduction to C++。 As is proper for a textbook designed to accompany an undergraduate course, it covers fundamental data structures which would normally be seen in the first year of a computer science degree such as lists, hash tables, trees, and associated search algorithms。 It is an excellent book, well paced, with a surplus of exercises。 Bjarne's prose is pleasant to read, occasionally amusing, always opinionated。 As you would expect from the creator of the language, there is a healthy focus on best practises。 Bjarne's aim is to teach software engineers, not leetcoders。Chapters c12 -- c16 are interesting。 If you already researched this book, you might have heard that some code in this book is broken: yes it is, and it relates to these chapters。 Bjarne guides the reader through some basic UI implementation using a provided interface for the FLTK graphics library。 Bjarne's provided interface was either dead-on-arrival, or it suffered breaking changes from newer versions of FLTK, or both。 This is unfortunate because the intention of these chapters to teach OOP techniques in context is excellent。 Here is some info on what you have to do to fix the mess: https://groups。google。com/g/ppp-publi。。。 Quality dips just slightly in the later chapters such as c24 Numerics, it's as if the test readers all started at the beginning and didn't make it to the end。 Particularly, a few pieces of undefined or non-standard technical vocabulary creep in, and a few explanations are not coherent。Regex is covered beautifully in c23。6, that sub-section being the most clear and terse explanation of it and best motivation of its syntax that I have read。 。。。more

Luca Barillá

if you want to learn c++, it's a good book (mostly because he is the father)if you want to learn how to code it's ok。Unfortunately variables names could be better (as for names like "d","mm","n"), and he needs to explain the meaning using comments instead of using more meaningful names in the first place。 So, code could be written better (it always can be), book as Code Complete 2 or Clean code can help in this case。Calculator example is great and well done。 if you want to learn c++, it's a good book (mostly because he is the father)if you want to learn how to code it's ok。Unfortunately variables names could be better (as for names like "d","mm","n"), and he needs to explain the meaning using comments instead of using more meaningful names in the first place。 So, code could be written better (it always can be), book as Code Complete 2 or Clean code can help in this case。Calculator example is great and well done。 。。。more

Naing Tan

Great knowledge from the C++ creator himself。 Definitely enriched me with the fundamentals of C++ and recommended ways to write a program。 It’s a lengthy book though。 I wouldnt recommend reading from cover to cover- just pick what you want to know and read it。 But I can assure you most topics are all interesting。 I did skim quickly through the chapter on testing though since it was out of my depth。 Anyway great book。

jsallcock

Programming, Principles and Practice using C++ is an excellent introduction to C++ by Bjarne Stroustrup, the original creator of the language。 The author writes with clarity and with reference to real-world applications, and the dry humour peppered throughout keeps things entertaining。 In fact, the logical ordering of topics means that most of the book can be read front-to-back without too much pain。I would recommend this book for people who already have a bit of experience programming in a high Programming, Principles and Practice using C++ is an excellent introduction to C++ by Bjarne Stroustrup, the original creator of the language。 The author writes with clarity and with reference to real-world applications, and the dry humour peppered throughout keeps things entertaining。 In fact, the logical ordering of topics means that most of the book can be read front-to-back without too much pain。I would recommend this book for people who already have a bit of experience programming in a higher-level, interpreted language (e。g。 Python, R, Matlab) but who want a readable introduction to the C++ syntax, memory model and standard library。It’s not perfect。 Almost 200 pages are dedicated to programming Graphical User Interfaces (GUIs) with the lesser-used FLTK library。 At the same time, there is almost nothing on concurrency。 This seems like a strange decision to me。[Disclaimer: mine is the 2010 edition] 。。。more

Jaykiran

Excellent bookAn in-depth textbook for programming using C++ by probably one of the best programmers of the world! Author’s explanations are very clear

Dima Escaroda

It's inconsistent。 Some parts are great but others are not。 At first you admire how well it's structured but then you see ugly unformatted code examples, and simple ideas described in an oversimplified(=complex) way。 I disagree with this method of teaching programming。 It's not effective and I don't recommend it。 It's inconsistent。 Some parts are great but others are not。 At first you admire how well it's structured but then you see ugly unformatted code examples, and simple ideas described in an oversimplified(=complex) way。 I disagree with this method of teaching programming。 It's not effective and I don't recommend it。 。。。more

Simon Winther

Syns denne var bra, selv om den litt rart bygd opp。 Den er skrevet for folk som ikke har spesielt mye erfaring med programmering, og dersom du klarer å jobbe deg gjennom hele boka fra start til slutt, med alle eksempler og oppgaver, så er det definitivt en svært god introduksjon。 Dersom du ønsker å bruke den mer som et oppslagsverk fungerer den derimot ikke like bra。 De fleste temaene illustreres gjennom eksempler som strekker seg over flere kapitler, så hvis du vil sette deg inn i en enkelt det Syns denne var bra, selv om den litt rart bygd opp。 Den er skrevet for folk som ikke har spesielt mye erfaring med programmering, og dersom du klarer å jobbe deg gjennom hele boka fra start til slutt, med alle eksempler og oppgaver, så er det definitivt en svært god introduksjon。 Dersom du ønsker å bruke den mer som et oppslagsverk fungerer den derimot ikke like bra。 De fleste temaene illustreres gjennom eksempler som strekker seg over flere kapitler, så hvis du vil sette deg inn i en enkelt detalj ender du ofte opp med å måtte lese mye mer enn det som egentlig burde vært nødvendig。 Boka er en murstein som tar for seg veldig mye, så derfor hadde det vært en fordel om det var enklere å kjapt sette seg inn i enkeltemner, uten at man nødendigvis må lese den fra perm til perm。 Likevel, har du nok tid til å sette deg ordentlig inn i boka er den veldig bra:) 。。。more

Jose Cubero

This is "introduction to programming" boook。 Hence it might be a good source if you are learning to program from scratch。 But if you have a little experience with C/C++ or other languages the content would be perhaps too basic for you。。。。Although the book cover mentions (C++11, 17) the book does not elaborate on any of the new language features: memory model, multithreading, atomic 。。。 as these are "too advanced"。。In my view this is a shame, as such core features could be learned from the beginn This is "introduction to programming" boook。 Hence it might be a good source if you are learning to program from scratch。 But if you have a little experience with C/C++ or other languages the content would be perhaps too basic for you。。。。Although the book cover mentions (C++11, 17) the book does not elaborate on any of the new language features: memory model, multithreading, atomic 。。。 as these are "too advanced"。。In my view this is a shame, as such core features could be learned from the beginning。Instead, the book spends 4 full chapters around graphical user interfaces which I consider not so helpful。 Specially since the author chose a rather obsolete and ugly GUI library: FLTK。。 。。。more

Aliaksei Ivanou

Очень большая и очень толстая книжка от создателя С++。 Книга, которая учит не только языку программирования, но и самому искусству программирования и правильной мысли。 Учебник наполнен большим количеством примеров программных решений и большим количеством упражнений для самостоятельной работы。 В целом книга адресована начинающим программистам C++, в ней нет каких-либо сложных тем и заданий。 Первая половина книги охватывает широкий спектр основных понятий, методов проектирования и программировани Очень большая и очень толстая книжка от создателя С++。 Книга, которая учит не только языку программирования, но и самому искусству программирования и правильной мысли。 Учебник наполнен большим количеством примеров программных решений и большим количеством упражнений для самостоятельной работы。 В целом книга адресована начинающим программистам C++, в ней нет каких-либо сложных тем и заданий。 Первая половина книги охватывает широкий спектр основных понятий, методов проектирования и программирования, свойств языка и его библиотек, представлена графическая библиотека FLTK。 Во второй половине рассматриваются более специализированные темы (такие как обработка текста, тестирование и язык C)。 В общем, советую для осваивания C++ =)。 В добавок ссылка на мои задания по книжке: https://github。com/aliaksei-ivanou-by。。。 (перманентно в стадии обновления)。 。。。more

Zichang

It is really a good book to read for anyone I think。Though some subsections may be redundant and talk too much, which makes it a little bit tedious and hard to continue to read, the book is still worth to read with leaping to where you need most(I prefer chapter 1 and 3)。By the way, quantities and qualities of exercise will not disappoint you。 Try to do it and think independently, your programming ability gonna improve a lot。

Amin

A good read, but requires some prior basic programming knowledge。 Perfect read for transition from Python to C++

Phi Quang

The book clarifies many important topics that programmers with other high level programming languages like Python/NodeJS/Go will not know where to find。 It has many fun problems too。 However, to get the most of it, the reader should has some programming background and know how to trace the execution flow whenever problems arise。 The example of the calculator Grammar is very challenging for even an experienced programmer。 If you have problems understanding, just move on and see what you can get f The book clarifies many important topics that programmers with other high level programming languages like Python/NodeJS/Go will not know where to find。 It has many fun problems too。 However, to get the most of it, the reader should has some programming background and know how to trace the execution flow whenever problems arise。 The example of the calculator Grammar is very challenging for even an experienced programmer。 If you have problems understanding, just move on and see what you can get from the book with adequate work。 According to 80/20 principle, 80% of what you need to know may require only 20% effort。 After finishing the book, reading other texts in C++ (and other programming languages as well) is much easier, much more enjoyable。 。。。more

Serial_experiments

Построение книги взято от "Язык программирования C", Ритчи Деннис М。, Керниган Брайан У。 тот же Калькулятор и другие главы, но кроме всего этого книга более формальна, точнее термины, больше математики, плюс классы которых нет в языке Си Построение книги взято от "Язык программирования C", Ритчи Деннис М。, Керниган Брайан У。 тот же Калькулятор и другие главы, но кроме всего этого книга более формальна, точнее термины, больше математики, плюс классы которых нет в языке Си 。。。more

Adam McCartney

This is a really well laid out book。 It's very clear and a good introduction to programming from a first principles sort of perspective。 This is a really well laid out book。 It's very clear and a good introduction to programming from a first principles sort of perspective。 。。。more

Pratik Khanke

Great introduction book for novices。 Well this is not book to learn about language but rather about how to program, programming techniques and practical uses。 Many of the C++ facilities are not thoroughly explained but enough information is given that students can look it up。

Ivan Dachev

Old school C++ in action, recommended if need to learn that dinosaur!

Dana

Comprehensive with tons of exercises, written by the creator of the language。 May be challenging as a beginner's first programming book but should be accessible for those with some prior knowledge。 Worth it with C++ to work from a recognized source than from web pages。 Gaining a wrong understanding could be worse than knowing nothing at all and this book will (hopefully) save you the trouble of such an error。 Comprehensive with tons of exercises, written by the creator of the language。 May be challenging as a beginner's first programming book but should be accessible for those with some prior knowledge。 Worth it with C++ to work from a recognized source than from web pages。 Gaining a wrong understanding could be worse than knowing nothing at all and this book will (hopefully) save you the trouble of such an error。 。。。more

Waleed Yaser

Great book for learning programming in general and have a good knowledge about C++, I recommend trying examples with yourself and maybe solve most of the excercises。

BonuxWhite

Cool

D

Неподходяща за начинаещи, защото е твърде сложна за тях, и също толкова неподходяща за напреднали, защото е твърде елементарна и подробна за тях。 Лоша комбинация, въпреки че принципно няма кой по-добре да пише по темата от автора。

zijie ku

Talk too much。 ( ͡° ͜ʖ ͡°)

Robert

I found this book to be a rather good introduction to programming in general, as it touches quite a lot of very important topics regarding both the C++ language and programming in general。 It is far more than just an introduction to C++ syntax, it is a thorough course introducing newcomers to a lot of programming related terminology, syntax, programming principles and strategies, programming history and philosophy and more。This book really does a great job at introducing the student to a lot of I found this book to be a rather good introduction to programming in general, as it touches quite a lot of very important topics regarding both the C++ language and programming in general。 It is far more than just an introduction to C++ syntax, it is a thorough course introducing newcomers to a lot of programming related terminology, syntax, programming principles and strategies, programming history and philosophy and more。This book really does a great job at introducing the student to a lot of (not exclusively) C++ related features, like:- proper variable and function declaration and definition (headers, cpp files, namespaces, scope, initialization, pass-by-value or reference etc。)-explaining different types of errors (compile-, link- and runtime errors, exceptions, narrowing, logic errors, range errors, etc。) - classes (member access control, constructors, referencing, class inheritance, overriding and virtual functions, abstract classes, etc。)- STL (iterators, code generalizing, algorithms, etc。)- OOP- Regex- and a lot more。Basically, by going through this book (and doing most of the exercises), one will become very familiar with an immense amount of basic concepts, but by far not all。 There are some chapters which are only view broadening at best and provide little practical value, like testing, the C language, and embedded systems programming, but I can't say it to be a negative side of the book, as it never really intended these to be anything more than what they are。 Any of these topics are separate (volumes of) books themselves, so no complaints here。Another very interesting aspect of this book is, that it silently, without anywhere mentioning it, goes through literally every major part of the C language as well, which shouldn't be a surprise to anyone who is a bit familiar with the author's history。 Nobody should interpret this though as one will be able to program in C after going through all this, but it will considerably make the process of learning C easier。As everything human made, this book is also not perfect。 Probably the one true negative side that I can mention, is that it literally is filled with forward referencing, by which I mean using concepts and language features that are going to be explained in later chapters only。 Having the references to which (future) chapter one needs to go for an explanation doesn't help much, as those explanations are integrated into that particular chapter's topic, so just cherry-picking and reading these will put them totally out of context, and as such extremely hard to understand。 For someone like me, who doesn't like "blackbox magic", it can be a bit frustrating。Also, because of the aforementioned things, I found myself looking up internet references and forums for further clarifications for some of the less explained subjects, which is indeed a very important skill to acquire early on, but in case of this book, I do not think it was intentional, but rather a side effect of the topic structure。 I understand on the other hand, that it is really hard to write a book aimed at total beginners for such a complex language like C++ (people usually start with python or ruby), so I'm not going to dwell on these。So all in all, to sum this up, I would definitely recommend this book to anyone interested in programming, as it really does a great job at introducing all the necessary basic concepts not just for C++, but generally for programming as well。 I must stress that no prior programming knowledge whatsoever is needed to start this book, so I encourage you to start today if you are interested in it。 It will take quite some time to get through this, but you will be thanking yourself once you're done。 C and Java syntax look like a breeze to learn after this, not to mention that this book will serve you as a good reference for both the language and general programming tricks during the beginning of your programming journey。 I really do mean it, go and read this。 。。。more

Jan Kroken

examples/exercises are incoherent

Scott

A very exciting introduction to a beautiful language。

Viet Dinh

An informative C++ book with a lot of exercises。 Not recommended for beginners。

Alamin

if you want to learn programming, and if working on C++ doesn't seem to bother you, then you can start by reading it。 if you want to learn programming, and if working on C++ doesn't seem to bother you, then you can start by reading it。 。。。more

David

I am self taught, and this was my first programming book around 2010。 It starts out well, and I did every chapter problem up to error handling in chapter 4, then it started to get difficult。 Meanwhile, I started using what I learned to solve early project Euler problems, I plowed on in the book and kept working through chapter 6 where the idea of Tokenization and Building a Parser is covered。 This concept of making a grammar was above my ability。 My progress stalled。 I realized that if I kept do I am self taught, and this was my first programming book around 2010。 It starts out well, and I did every chapter problem up to error handling in chapter 4, then it started to get difficult。 Meanwhile, I started using what I learned to solve early project Euler problems, I plowed on in the book and kept working through chapter 6 where the idea of Tokenization and Building a Parser is covered。 This concept of making a grammar was above my ability。 My progress stalled。 I realized that if I kept doing every problem I would make extremely slow progress, so I decided to just read the rest of the book cover to cover carefully, and try to understand what I was reading, with the idea that later I would read other programming sources and I would have a base。 This was a great Idea。 The book imbued in me an understanding of the important topics a professional programmer considers, it also covers a wide variety of Ideas that were difficult for me then, such as Classes, Functions, Methods, Constructers, Destructors, virtualization and memory management。 In any event the book did not teach me programming, it gave me the base to have the Eureka moments I needed from other sources, to eventually be able to write my own games and things from scratch。 This book is Painful for beginners, but worth struggling through to develop a solid foundation。 。。。more

Ayush Bhat

This is a GREAT book if one wants to learn more than just the knowledge of the C++ language。 But its not like this book is for beginners, if you dont have a programming background you are not going to get anything in the starting。

Henry Q

Great introduction book to C++。 I read every page until the final chapter, it really helped me get a good grasp of what was going on。